<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
        <channel>
        <title>верстка модулей / Поиск по тегам / Русский клуб Joomla</title>
        <link>http://joomclub.net/ru/rss/tag/верстка модулей/</link>
        <description><![CDATA[Сайт посвящен Joomla во всех ее проявлениях, мы рассказываем о шаблонах, расширениях, компонентах, плагинах и модулях]]></description>
        <language>ru</language>
        <managingEditor>tena2000@mail.ru</managingEditor>
        <webMaster>tena2000@mail.ru</webMaster>
        <generator>Alto CMS v.1.1.13</generator>
                    <item>
                <title>Вывод модуля «Login» во всплывающем окне.</title>
                <guid isPermaLink="true">http://joomclub.net/ru/t/7/</guid>
                <link>http://joomclub.net/ru/blog/verstka/7.html</link>
                <author>tena2000@mail.ru</author>
                <description><![CDATA[<p>Разработка шаблона модуля Разработка шаблона модуля «Login»: вывод формы регистрации в <a href="http://joomclub.net/blog/verstka/38.html" rel="nofollow">SqueezeBox</a> (Joomla 1.6/Joomla 1.7/Joomla 2.5).</p>

<p>SqueezeBox — стандартный для Joomla тип модального окна, использующий в качестве основной библиотеки mootools.</p>

<p>Для подключения SqueezeBox в шаблоне используется конструкция:</p>

<p><pre class="prettyprint"><code>JHTML::_('behavior.modal');</code></pre></p>

<p>, это добавит в страницы следующий JS:<pre class="prettyprint"><code>window.addEvent('domready', function() { SqueezeBox.initialize({}); SqueezeBox.assign($$('a.modal'), { parse: 'rel' }); }); </code></pre></p>

<p>В Joomla 1.6/1.7/2.5 есть возможность создания собственных альтернативных шаблонов компонентов/модулей, и возможность выбора их в настройках, ей и воспользуемся. <a name="cut" rel="nofollow"></a> </p>

<ol><li>В папке шаблона создаем папку templates/ваш_шаблон/html/mod_login и копируем в нее шаблон модуля mod_login (/modules/mod_login/tmpl/default.php).</li><li>Если на сайте кроме нашего компактного варианта будет использоваться и полный вариант формы, то создаем копию данного шаблона, назвав ее lightbox.php (имя может быть любым, за исключением default.php), в итоге в папке должно быть два файла lightbox.php и default.php, для работы нам понадобиться lightbox.php.</li><li>Далее работаем с файлом lightbox.php Добавляем в начало файла (сразу после defined('_JEXEC') or die; Jhtml::_('behavior.keepalive');) следующий код: <pre class="prettyprint"><code>JHTML::_('behavior.modal');
 JHTML::_('stylesheet', $filename = 'style.css', $path = 'templates/ваш_шаблон/html/mod_login/' , $attribs = array() );</code></pre></li><p> Создаем в папке templates/ваш_шаблон/html/mod_login файл style.css (если вы планируете проводить оптимизацию сайта, то рекомендую все стили сразу прописывать в основном файле стилей используемого шаблона, в этом случае вторую строку добавлять не следует). Первая строка кода подключит SqueezeBox, вторая добавит ссылку на файл стилей данного шаблона.</p><li><p>Шаблон модуля «Login» состоит из двух частей: первая отвечает за вывод формы выхода, выторая за вывод формы входа, нам потребуется только вторая, находится в районе 34 строки и начинается с кода:</p>
<pre class="prettyprint"><code>&lt;form id=&quot;login-form&quot; action=&quot;&lt;?php echo JRoute::_('index.php', true, $params-&gt;get('usesecure')); ?&gt;&quot; method=&quot;post&quot;&gt;&lt;/form&gt;</code></pre></li><li>Для вывода ссылки вывода SqueezeBox используется ссылка с указанием id стиля блока (так же указываются: класс modal и размер модального окна), в котором находится контент для вывода в модальном окне. <pre class="prettyprint"><code>&lt;a class=&quot;modal&quot; href=&quot;#login-form&quot; rel=&quot;{size:{x:300,y:300}}&quot;&gt;Форма входа&lt;/a&gt;</code></pre></li><li>Заключаем всю форму входа в блок с id=«login-form». </li><li>В итоге получаем следующую конструкцию: <pre class="prettyprint"><code>&lt;a class=&quot;modal&quot; href=&quot;#login-form&quot; rel=&quot;{size:{x:300,y:300}}&quot;&gt;Ссылка на html-элемент&lt;/a&gt;
 &lt;div id=&quot;login-form&quot;&gt;
 &nbsp; &lt;form action=&quot;&lt;?php echo JRoute::_('index.php', true, $params-&gt;get('usesecure')); ?&gt;&quot; method=&quot;post&quot; id=&quot;login-form&quot; &gt;
 &nbsp; ...
 &nbsp; &lt;/form&gt;
 &lt;/div&gt;</code></pre></li><li>Дописываем в файле стилей: <pre class="prettyprint"><code>#login-form { display: none }</code></pre></li> <li>Выбор шаблона производится в настройках модуля/компонента на спойлере Дополнительные параметры, параметр — Альтернативный макет. </li></ol>]]></description>
                <pubDate>Sat, 01 Sep 2012 18:09:16 +0400</pubDate>
                            </item>
            </channel>
    </rss>
